package com.mymvc.test;

import java.lang.reflect.Field;

public class B extends A {
	private String name;
	private String address;

	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	
	
	
	
	
	
	void show() {
		System.out.println("B.........");
	}
	void testb() {
		System.out.println("testb.....");
	}
	
	
	public static void main(String[] args) {
//		B b = new B();
//		A a = (A) b;
//		a.show();
//		a.show2();
		
		A a = new B();
		B b = (B) a;
		b.show();
		b.show2();
		
//		try {
//			Class clazz = Class.forName("com.mymvc.test.B");
//			A a = (A)clazz.newInstance();
//			Field[] field = clazz.getDeclaredFields();
//			for(Field f:field) {
//				f.setAccessible(true);
//				if("name".equals(f.getName())) {
//					f.set(a, "aaa");
//				}else{
//					f.set(a, "bbb");
//				}
//				
//				f.setAccessible(false);
//			}
//			a.show();
//			a.show2();
//			System.out.println("=============");
//			B b = (B)a;
//			b.show();
//			b.show2();
//			System.out.println("~~"+b.getName()+"  "+b.getAddress());
//			
//		} catch (ClassNotFoundException e) {
//			e.printStackTrace();
//		} catch (InstantiationException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		} catch (IllegalAccessException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
	}
}
